Computing systems have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as desktop personal computers (PCs), laptop PCs, tablet PCs, netbooks, smart phones, servers, and the like have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business, and science. One common aspect of computing systems is video encoding and decoding. Video encoding is utilized to compress the video for storage and/or transmission. Compressing the video reduces the amount of memory for storing the video and the amount of transmission bandwidth for sending and receiving the video. The compressed video may then be decoded to view the video.
During decoding, errors may occur in the elementary (de-compressed) data stream. A decoder should be able to handle error scenarios so that the elementary stream can be played at the desired frame rate. One conventional technique to handle errors is for decoder hardware to generate an interrupt to applicable software, such as a driver, utility, routine, or the like. In response to the interrupt, the software reads the hardware status, identifies the error, and tries to conceal the error. However, based techniques can introduce undesired latency which may prevent operation at a desired minimum frame rate. Accordingly, there is a continuing need for improved decoder error concealment techniques.